﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QuanLyKTX
{
    using Telerik.WinControls.UI;
    using DAL;
    using Utilities;

    public partial class frm_PersonalInfor : RadForm
    {

        #region Private Methods
        private void UpdThongTinCaNhan(Guid maNhanVien)
        {
            using (var db = new QuanLyKTXDataContext())
            {
                var result = (from p in db.tbl_NhanViens
                              where p.MaNhanVien == maNhanVien
                              select p).Single();
                result.Ho = radTextBox_Ho.Text.Trim();
                result.Ten = radTextBox_Ten.Text.Trim();
                result.NgaySinh = radDateTimePicker_NgaySinh.Value;
                result.DiaChi = radTextBox_DiaChi.Text.Trim();
                result.SoDienThoai = radTextBox_SoDienThoai.Text.Trim();
                result.Email = radTextBox_Email.Text.Trim();

                db.SubmitChanges();
                MessageBox.Show("Thông tin đã được thay đổi.");
            }

        }

        private void FormLoadDefault()
        {
            radDateTimePicker_NgaySinh.MaxDate = DateTime.Now;
            radDateTimePicker_NgaySinh.MinDate = Convert.ToDateTime("1/1/1900");
        }
        #endregion

        #region Event Methods

        public frm_PersonalInfor()
        {
            InitializeComponent();
        }

        private void frm_PersonalInfor_Load(object sender, EventArgs e)
        {
            FormLoadDefault();

            frm_Main fMain = (frm_Main)MdiParent;

            radTextBox_Ho.Text = fMain.NVDangNhap.Ho;
            radTextBox_Ten.Text = fMain.NVDangNhap.Ten;
            radDateTimePicker_NgaySinh.Value = (DateTime)fMain.NVDangNhap.NgaySinh;
            radTextBox_DiaChi.Text = fMain.NVDangNhap.DiaChi;
            radTextBox_SoDienThoai.Text = fMain.NVDangNhap.SoDienThoai;
            radTextBox_Email.Text = fMain.NVDangNhap.Email;
        }

        private void radButton_Luu_Click(object sender, EventArgs e)
        {
            if (radTextBox_Ho.Text.Length > 0 && radTextBox_Ten.Text.Length > 0)
            {
                if (radTextBox_Email.Text.Length > 0)
                {
                    if (Validation.CheckEmail(radTextBox_Email.Text.Trim()))
                    {
                        frm_Main fMain = (frm_Main)MdiParent;

                        UpdThongTinCaNhan(fMain.NVDangNhap.MaNhanVien);

                        fMain.NVDangNhap.Ho = radTextBox_Ho.Text.Trim();
                        fMain.NVDangNhap.Ten = radTextBox_Ten.Text.Trim();
                        fMain.NVDangNhap.NgaySinh = radDateTimePicker_NgaySinh.Value;
                        fMain.NVDangNhap.DiaChi = radTextBox_DiaChi.Text.Trim();
                        fMain.NVDangNhap.SoDienThoai = radTextBox_SoDienThoai.Text.Trim();
                        fMain.NVDangNhap.Email = radTextBox_Email.Text.Trim();

                        Close();
                    }
                    else
                    {
                        MessageBox.Show("Sai định dạng Email. Vui lòng kiểm tra lại.");
                    }
                }
                else
                {
                    frm_Main fMain = (frm_Main)MdiParent;

                    UpdThongTinCaNhan(fMain.NVDangNhap.MaNhanVien);

                    fMain.NVDangNhap.Ho = radTextBox_Ho.Text.Trim();
                    fMain.NVDangNhap.Ten = radTextBox_Ten.Text.Trim();
                    fMain.NVDangNhap.NgaySinh = radDateTimePicker_NgaySinh.Value;
                    fMain.NVDangNhap.DiaChi = radTextBox_DiaChi.Text.Trim();
                    fMain.NVDangNhap.SoDienThoai = radTextBox_SoDienThoai.Text.Trim();
                    fMain.NVDangNhap.Email = radTextBox_Email.Text.Trim();

                    Close();
                }
            }
            else
            {
                MessageBox.Show("Họ và tên là hai phần không được để trống.");
            }
        }

        private void radButton_Thoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        #endregion
    }
}
